 | | APPS Y BOTS |
“El lenguaje humano es el nuevo interfaz de usuario, Los bots son las nuevas aplicaciones” (Satya Nadella )
“Los chats son la interfaz de usuario universal” (Dan Grover)
“Los bots no sustituirán a las apps. Mejores apps sustituirán a las apps” (Dan Grover)
Apps
El término “App” (abreviatura de “application”) fue acuñado por Apple en 2008 para referirse a pequeños programas que se ejecutaban en smartphones (teléfonos móviles inteligentes) y que permitían al usuario realizar tareas específicas. Hoy día esta tecnología se ha consolidado. Hay millones de Apps disponibles, habiéndose infiltrado también en tabletas, ordenadores personales, relojes y aparatos de televisión. Las Apps se han popularizado porque son útiles, fáciles de instalar y eliminar.
El problema de las Apps es:
- Hay una enorme cantidad de Apps para diferentes servicios. Muchas Apps son similares.
- Están desconectadas entre sí. Es software fragmentado, no integrado.
- Cada App tiene su propia interfaz gráfica de usuario (GUI, en sus siglas en inglés). No hay un sistema de comunicación común.
- Están desarrolladas con diferentes herramientas y lenguajes.
Las GUIs nacieron en los años 1980s de la mano de Xerox, Apple y Microsoft como una forma de facilitar la utilización de las aplicaciones mediante la metáfora del escritorio (iconos, botones, menús desplegables, barras de herramientas y otros elementos gráficos). Los GUIs evitaban el tener que aprender los diferentes comandos para acceder a las funciones del sistema.
La tendencia actual es sustituir las interfaces gráficas específicas de cada aplicación por un sistema conversacional común en lenguaje natural. Se trata de pasar de GUIs a CUIs (Conversational User Interface).
Este nuevo enfoque implica la utilización de las técnicas de inteligencia artificial (IA). La IA es la inteligencia exhibida por máquinas programadas con agentes capaces de percibir el entorno y tomar decisiones adecuadas, simulando la inteligencia humana. En el caso de la interfaz en lenguaje natural, el sistema debe analizar cada sentencia o mensaje del usuario, deducir qué servicio requiere, acceder al software correspondiente y emitir una respuesta también en lenguaje natural.
La nueva era de la tecnología es la era de la interfaz conversacional, cuyas ventajas son:
- Es una forma de interacción natural, sencilla e intuitiva.
- Las conversaciones pueden hacer cosas que las GUIs tradicionales no pueden hacer. Son más flexibles porque el lenguaje natural es flexible.
- La interfaz puede ser en forma de mensajes de texto o de voz, tanto de entrada como de salida.
- El usuario no necesita saber qué App en concreto debe utilizar para satisfacer sus requerimientos.
- Las respuestas del sistema son indistinguibles de las humanas.
El texto tiene muchas ventajas. Es asíncrono. Es flexible. Se puede indexar y buscar de manera eficiente, traducir, comparar, agrupar, corregir, resumir, filtrar mediante algoritmos, editar en grupo, compartir, citar, etc.
Bots y chatbots
La IA, tras un largo periodo de letargo, está recibiendo un gran impulso gracias a la introducción de los chatbots, sistemas inteligentes que permiten conversar en lenguaje natural con los usuarios de los teléfonos móviles para realizar diferentes servicios. Se trata de armonizar y sincronizar el poder del lenguaje natural y la IA. Es lo que se llama “computación conversacional” (Conversational Computing).
Hoy día se habla de Bots en general, siendo el chatbot un tipo de Bot. El término “Bot” es una aféresis de “robot” y es la versión software del mismo. Los Bots son aplicaciones que realizan funciones de manera autónoma gracias a la IA incorporada en ellos.
Las ventajas de los Bots son:
- Suministran servicios automatizados mediante el intercambio de mensajes. Por ejemplo, petición de información personalizada (noticias, el tiempo, etc, incluso con salida gráfica) , reserva de hoteles, realizar transferencias, pedir comida, traducir un texto, poner un correo electrónico, pedir un taxi, contratar viajes, hacer una llamada telefónica, filtrar llamadas y mensajes publicitarios, organizar reuniones, gestionar nuestro calendario, recordar fechas, guardar notas, reproducir música, etc.
- No es necesario descargarlos explícitamente, como ocurre con las Apps, pues residen en la nube. Se reduce así el tiempo y el esfuerzo que acarrea el buscar la App que realiza la función que necesitamos. Se consigue un sistema unificado de comunicación donde los Bots se ocultan al usuario. Al usuario solo le interesa la funcionalidad, no las aplicaciones implicadas. También las aplicaciones se actualizan de forma automática.
En los primeros ordenadores, la computación empezó siendo batch. Con la llegada de los ordenadores personales, la computación pasó a ser interactiva. Esta interacción se hizo primero con comandos y luego con interfaz gráfica. Con la llegada de Internet, las aplicaciones dejaron de residir en los equipos cliente, bastando solo un navegador web (browser) como interfaz. Con los Bots es igual, no residen en los teléfonos inteligentes.
- Se activan por la petición de un usuario, pero también pueden ser proactivos: actuar de forma autónoma cuando se producen determinadas circunstancias o detectan necesidades a cubrir. Aprenden de nuestros hábitos y nuestros comportamientos y se anticipan a nuestros requerimientos mostrando las cosas que queremos y necesitamos. Por ejemplo, nos recomiendan libros, videos y películas, los últimas novedades de los campos que nos interesan, recomendarnos seguros, etc. Cuanto más se usen los Bots, más aprenden y tendremos un mejor consejero cognitivo, y más pueden anticiparse a las necesidades del usuario.
- Se interactúa con los Bots de la misma forma que con las personas. Incluso se tratan como si fueran personas. Por ejemplo, en la App Skype, en la opción “añadir contacto” muestra dos alternativas: persona o Bot.
- No es necesario aprender cómo funciona cada Bot.
- No importa el Bot con el que se esté conversando. La salida será siempre más o menos con el mismo formato.
Hay muchos tipos de Bots:
- Bots conversacionales (chatbots).
- Bots asistentes virtuales.
- Bots que interaccionan con otros Bots. Por ejemplo, Bots colaborativos.
- Bots que supervisan a otros Bots (jerarquías de Bots).
- Bots que conectan dispositivos, como en el Internet de las cosas (IoT).
- Bots para automatización de negocios, administración, finanzas, etc.
El nuevo paradigma del mundo digital es un sistema conversacional basado en un universo de Bots y que hace uso del Bot más adecuado en cada momento para atender a los requerimientos del usuario. Se trata de interactuar de una manera más natural y efectiva con los ordenadores, lo que hará que nuestra vida sea más fácil.
La nueva revolución, la nueva frontera, es la de los Bots, aunque todavía no son populares porque la tecnología está en sus inicios.
MENTAL, un Lenguaje para Apps y Bots
Inteligencia vs. Conciencia
Efectivamente, tras años de inactividad, la IA está siendo impulsada gracias a los teléfonos móviles y a los Bots. El problema con los Bots es que requieren lenguajes de IA. Y hoy día, con las herramientas disponibles, es difícil desarrollar aplicaciones de IA y conversacionales.
Con MENTAL tenemos el lenguaje más simple posible y a la vez el lenguaje más potente posible, el lenguaje universal, un lenguaje que permite el desarrollo de Apps y de Bots. Es un lenguaje de programación multiparadigma y un lenguaje de IA, sencillo pero potente, más potente que Lisp y Prolog, pues estos lenguajes son monoparadigma (funcional y lógico, respectivamente). Permite el razonamiento automático cualitativo y cuantitativo, el difuso o impreciso.
Con los arquetipos de la conciencia se puede implementar el razonamiento automático. La inteligencia se deriva de los arquetipos de la conciencia. La conciencia está en un plano más elevado que la inteligencia; por eso, desde los arquetipos de la conciencia todo es más sencillo.
Por lo tanto, no se trata de inteligencia, sino de conciencia. Y la máxima aproximación a la conciencia son los arquetipos primarios. Hay muchos tipos de inteligencia, pero solo hay unos arquetipos de la conciencia.
Bots vs. Apps
Los Bots son tipos de Apps. No tiene sentido comparar los Bots con las Apps, como no tiene sentido comparar los coches con los transportes: el coche es un tipo de transporte, y los Bots son tipos de Apps. Por lo tanto, los Bots no van a sustituir a las Apps como se ha dicho. Las Apps tendrán cada vez más inteligencia, con funcionalidades automáticas.
Con MENTAL el desarrollo de Bots no difieren esencialmente de las Apps. Y es gracias a las expresiones genéricas, que permiten implementar facilmente funcionalidades automáticas. Basta con programar acciones que se activan cuando se producen determinados eventos en el espacio abstracto. Las expresiones genéricas desempeñan un papel esencial en la integración de paradigmas de programación y en las funcionalidades de IA.
Sistema conversacional
En lugar de que los Bots interactúen directamente con el usuario en lenguaje natural, es más sencillo tener un sistema conversacional único. El proceso sería el siguiente:
- El input del usuario (texto en lenguaje natural) se transforma en una sentencia formal S, siguiendo la codificación de MENTAL.
- El sistema analiza S y deduce el Bot B que tiene que suministrar el servicio.
- El Bot B analiza S, lo procesa y genera una respuesta T en lenguaje formalizado (MENTAL).
- El sistema conversacional transforma T en una sentencia del lenguaje natural y se lo envía al usuario.
De esta forma, se consigue que las respuestas de los Bots tengan una estructura uniforme, y que solo exista un sistema de comunicación entre el usuario y los Bots, un sistema análogo al de navegador.
Conclusiones
Cada pocos años se produce en el mundo digital un cambio de paradigma. El paradigma actualmente emergente es la interfaz conversacional y los Bots, aplicaciones de IA. Pero el paradigma universal y definitivo reside en los arquetipos de la conciencia y el lenguaje que los interrelaciona.
Hay dos elementos clave en la nueva revolución digital: el lenguaje y la IA. Ambos aspectos constituyen la esencia de MENTAL. Este lenguaje universal es la herramienta que fundamenta e integra todas las aplicaciones (Apps y Bots).
Adenda
Las empresas tecnológicas y los Bots
Las empresas tecnológicas disponen ya de asistentes virtuales, Bots y herramientas para creación de Bots:
- Microsoft.
La visión y apuesta de Microsoft es “Conversations as a Platform” (CaaP). Los Bots son las nuevas aplicaciones. El objetivo es crear una red de Bots que puedan interactuar con el usuario de manera inteligente. Microsoft ha creado una división de IA con el objetivo de “democratizar” la IA. Ha creado Bot Framework, una plataforma para desarrollo de Bots que funciona con cualquier lenguaje de programación.
Cortana es un asistente virtual inteligente, el Bot principal de Microsoft. Reconoce el lenguaje natural y utiliza Bing (el buscador de Microsoft). Guarda una “libreta” donde almacena toda la información del usuario. Microsoft quiere que Cortana sea el eje central de todo.
Skype (una empresa de Microsoft) dispone de Bots desarrollados por Microsoft. Skype Bot SDK es para desarrollo de Bots para Skype.
Tay fue un Bot fallido de Microsoft. Fue diseñado para mantener conversaciones en la red social Twitter y orientado a un público joven. Se creó como un experimento de interacción entre ordenadores y humanos. Solo estuvo activo 16 horas por sus comentarios racistas y xenófobos.
- Apple.
Siri es un asistente virtual con reconocimiento de voz y respuesta también con voz. Se adapta a las necesidades del usuario, hace recomendaciones y realiza diversas tareas como recordatorios, contactos, notas, navegación web, mapas, música, información sobre el tiempo, la bolsa, etc. Soporta varios idiomas.
- Google.
Google Assistant es un asistente virtual conversacional. Es una mejora de Google Now y una extensión del “OK Google”. Google Now conoce información relevante del usuario: donde trabaja, sus lugares de reunión, la información que le interesa, los deportes que le gustan, etc.” OK Google” hace búsquedas por voz, controla dispositivos, envía mensajes, etc. En los smartphones es la App Google Allo.
- Facebook.
Esta empresa se ha volcado en serio al mundo de los Bots. Hay más de 10.000 desarrolladores trabajando en los ChatBots de Facebook Messenger. Según Mark Zuckerberg, Messenger no es una aplicación de mensajería, sino una plataforma. La idea es que todas las empresas estén en Facebook y todas integradas y comunicadas mediante la plataforma Facebook Messenger.
- Amazon.
Echo es un altavoz que se controla con la voz. Echo conecta con Alexa Voice Service, un asistente virtual que se activa con la palabra “Alexa”. Solo hay que hacer una petición oral: solicitar música, solicitar información, enviar correos electrónicos, recibir la lista de la compra, etc. Pretende hacer más fácil la vida cotidiana en el hogar. Amazon tiene su propio servicio: Amazon Music Unlimited. Echo tiene 7 micrófonos para que pueda oir desde cualquier lugar de una habitación, y produce un sonido inmersivo 360º.
Alexa va más allá de Siri y Cortana. Se puede colocar en cualquier lugar de la casa, y está siempre dispuesto a recibir órdenes. No está encerrado en un teléfono, ordenador o tableta. No hace falta acercarse a él ni pulsar ningún botón.
- Otras.
- Slack es una herramienta de trabajo en equipo que reside en la nube que ofrece diversos servicios. Slackbot es un Bot que ayuda a organizar reuniones y realiza recordatorios de tareas. Se activa con “Hi, Slackbot here!.
- Telegram es un veterano en el uso de Bots. Tiene una Bot Platform.
- Line también tiene una plataforma de desarrollo de Bots.
La revolución WeChat
En Occidente usamos una aplicación para cada cosa. En cambio, en China usan una aplicación integrada (o plataforma o aplicación de aplicaciones, incluso un sistema operativo): WeChat (denominada “Weixin” en chino), desarrollada por la empresa china Tencent. Es la aplicación más usada en China y el referente a seguir. No es el “WhatsApp chino”, como a veces se la califica. Es el fenómeno más impresionante en el mundo de la telefonía móvil. Inicialmente fue una aplicación de mensajería, pero evolucionó hasta integrar muchos servicios:
- Mensajería instantánea. Tipo WhatsApp.
- Moments. Compartición de texto, fotos, videos y enlaces. Red social tipo Facebook.
- Contactar con personas físicamente cercanas. Tipo Tinder.
- Agitando el teléfono, contactamos con personas que también están agitando el teléfono en ese momento.
- Mensaje en una botella. Escribir un texto y lanzarlo al metafórico océano del ciberespacio donde cualquiera puede recoger la botella virtual, leer el mensaje y responder o volver a dejarla flotar.
- Llamadas telefónicas a fijos y móviles. Videollamadas. Tipo Skype.
- Organizar trabajos en grupo. Tipo Slack.
- Pagos. Pagar facturas, enviar dinero, etc. Tipo PayPal.
- Viajes. Tipo Trip Advisor.
- Marketplace. Plataforma de desarrollo de aplicaciones para relaciones comerciales. Difusión de contenidos. Flujos de automatización. Intercambio de tarjetas de visita electrónicas.
- Servicios varios: pedir un taxi o un vehículo privado, pedir cita con el médico, reservar billetes de tren o avión, reservar habitación de hotel, comprar entradas de espectáculos, adquirir bienes y servicios, compra-venta de casas, etc.
El test de Turing
El test de Turing fue propuesto en 1950 por Alan Turing en su artículo “Computing Machinery and Intelligence”, que comienza con estas palabras: “Propongo considerar la pregunta: ‘¿Pueden pensar las máquinas?’”. Turing consideraba que “pensar” era algo indefinible por ser un proceso interno, y que sería más sencillo evaluar su comportamiento externo. Así que cambió la pregunta inicial por otra: “¿Pueden las máquinas hacer lo mismo que los humanos como seres pensantes?”. Definió o asoció inteligencia con la indistinguibilidad entre humano y máquina.
En el test intervienen tres jugadores: dos humanos y un ordenador. El jugador C (humano) escribe preguntas en un terminal de ordenador y recibe respuestas en ese mismo terminal procedentes del jugador A y del B. El juego consiste en que C debe averiguar quien es es el humano y quien es el ordenador. Si C no consigue averiguarlo, el ordenador se considera que tiene inteligencia; ha pasado el test de Turing. En el test no se considera el conocimiento e la máquina en cuanto a su capacidad de responder correctamente a las preguntas, sino solo la capacidad de generar respuestas similares a las que daría un humano.
Turing se inspiró en un juego social que estaba de moda en su época, el juego de la imitación (the imitation game). Constaba de tres jugadores: A (un hombre), B (una mujer) y C (de cualquier sexo), que es el interrogador. C solo tiene contacto con A y B mediante notas escritas. El objetivo del juego es que C averigüe quien es el hombre y quien la mujer. El jugador A intenta engañar a C con sus respuestas (para hacerle creer que es del sexo opuesto). El jugador B es sincero en sus respuestas.
En 1980, John Searle propuso su famosa experimento mental de la habitación china. Según Searle, el test de Turing no tiene sentido porque las máquinas solo manipulan símbolos, no “comprenden” lo que hacen, por lo que no tienen inteligencia.
Eliza
Eliza fue el primer chatbot de la historia. Fue creado por Joseph Weizenbaum en 1966 para intentar superar o desafiar el test de Turing. Era un programa que imitaba a un psicoterapeuta. Analizaba las palabras del usuario en busca de palabras clave. Si encontraba alguna, una regla transformaba el mensaje original y se lo enviaba al usuario como respuesta. Si no encontraba ninguna palabra clave, daba una respuesta genérica o repetía algún comentario anterior.
El programa era demasiado básico (constaba de solo 200 líneas de código) y no podía ir más allá de una pequeña conversación. No obstante, parece que fue capaz de engañar a algunas personas haciéndolas creer que estaban hablando con una persona real.
Bibliografía
- Hawkins, Jeff; Blakeslee, Sandra. On Intelligence. Holt Paperbacks, 2005.
- Norvig, Peter. Paradigms of Artificial Intelligence Programming. Case Studies in Common Lisp. Morgan Kaufmann, 1991.
- Russell, Stuart; Norvig, Peter. Artificial Intelligence:AModern Approach. Prentice Hall, 2009.
- Searle, John. Minds, Brains, and Programs. Behavioral and Brain Sciences 3 (3): 417-457, 1980. Disponible online.
- Turing, Alan. Computing Machinery and Intelligence. Mind 49: 433-460, 1950. Disponible online.